#ifndef SANGAME_HISTORY_INDICATOR_BASE_H_
#define SANGAME_HISTORY_INDICATOR_BASE_H_

namespace sangame {
namespace history {

class CHistoryIndicatorBase {
public:
    CHistoryIndicatorBase(SGHandle owner_handle) : owner_handle_(owner_handle) {}
    virtual ~CHistoryIndicatorBase() {}

    virtual BOOL OnSGInitContext(SGContext* context_param) {
        return FALSE;
    }
    virtual BOOL OnSGGoodsChange(SGGoodsChange* goods_change_param) {
        return FALSE;
    }
    virtual BOOL OnSGSyncData(SGRange<uint64_t>* range_param) {
        return FALSE;
    }
    virtual BOOL OnSGDrawBack(SGCanvas* canvas_param) {
        return FALSE;
    }
    virtual BOOL OnSGDrawFore(SGCanvas* canvas_param) {
        return FALSE;
    }

protected:
    SGHandle owner_handle_;

};

struct SGIndicatorOverlay {
    std::string indicator_name;
    std::string indicator_param;
};

struct SGIndicatorGoods {
    int goods;
};

struct SGIndicatorArbitrage {
    int goods;
    int data_type;
    int calc_type;
};

struct SGIndicatorServer {
    std::string indicator_name;
    std::string indicator_param;
    uint64_t begin_time;
    uint64_t end_time;
};

} // namespace history
} // namespace sangame

#endif // SANGAME_HISTORY_INDICATOR_BASE_H_